function submitData(url,data){//将组装好的json 数据传递到后台
		$.ajax({
		    type:'post',//可选get
		    url:url,
		    data:{'jsonStr':data},//传递的数据
		    dataType:'json',
		    async:false , //false为同步
		    success:function(data,status){
				  if(data.status=="0"){
					  alert(data.message);
			   	   }else{
					  alert(data.message);
//					  window.location.href=getRootPath()+"/workprocess/workstart";
					  parent.location.reload();
			   	   }	   
		   },
		   error:function(xhr,s1,s2){
				var  message= xhr.responseText;
		    	var  json = jQuery.parseJSON(message);

				if($.trim(json.exception).length==0){
					  alert("数据异常,请刷新页面重试");
				}else{
					  alert(json.exception);
				}
			
		    }
		   });
		
	}

	function formTan(){//设置表开始节点属性值
	
		var formProperty=$("#startProperty").val();//获取上次的表单数据
		formProperty=$.trim(formProperty);
		if(formProperty.length>0){
			
			parseFormProp(formProperty);//解析json字符串
		}
		
		$("#zhezhaop").show();
		$(".zhezhao").show();
		
	}

	//解析form json 属性
	
	var definedFormAttr=new Array();//存放表单属性，key是input的id
	var currentAttrKey="";//当前操作的数组key
	function parseFormProp(data){
		
		var formProp={};
		
		try {
			
			formProp=$.parseJSON(data);
			
			formProp=formProp.formProp;
			
			var num=1;
			for(var k in formProp){
				
				var data=formProp[k];
				definedFormAttr[k]=data;
				
				definedFormAttr.length=num;
				num++;
			}
			
			showtab();
		
			
		} catch (e) {
			formProp={};
		}
		
	}

	var num=1;//记录id开始
	
	//循环显示table
	function showtab(){
		
		if(typeof definedFormAttr!='undefined' && definedFormAttr.length>0){
			
			var tabHtml='';
			var tnum=0;
			for(var k in definedFormAttr){//循环显示tab
				num++;
				tnum++;
				var  id=definedFormAttr[k].id;
				var  name=definedFormAttr[k].name;
				var  type=definedFormAttr[k].type;
				
				if(tnum==definedFormAttr.length){
				    tabHtml=tabHtml+'<div class="tab_row focus"><div name="id">'+id+"</div> <div name='name'>"+name+"</div><div name='type'>"+type+"</div> </div>";
 					var templateHtml=$("#template_div").html();//获取form模板
					$(".prop_form_div").html(templateHtml);
					$(".prop_form_div").find("input[name='id']").val(id);
					$(".prop_form_div").find("input[name='name']").val(name);
					$(".prop_form_div").find("select[name='type']").val(type);
					
					$("#zhe_tab_body").append(tabHtml);	
					
					opt_enum(id,type);//显示枚举
					currentAttrKey=id;
					
					$(".prop_form_div").show();
					
				}else{
					  tabHtml=tabHtml+'<div class="tab_row"><div name="id">'+id+"</div> <div name='name'>"+name+"</div><div name='type'>"+type+"</div> </div>";
						
				}
				
			}
			
		}

	}
	
	//关闭图层 清除节点
	function colseTan(){
		var headerHtml=$("#zhe_tab_body").find(".tab_row:first");
		$("#zhe_tab_body").html("");
		$(".prop_form_div").html("");
		$("#zhe_tab_body").append(headerHtml);
		$(".zhezhaop").hide();
		$(".zhezhao").hide();
		currentAttrKey='';
		definedFormAttr=new Array();
		$(".enum_form").html("");
		var enumTabHtml=$(".enum_tab_row").first();//获取枚举头
		
		$(".enum_tab").html(enumTabHtml);
		
		$(".enum_layout").hide();
		
	}
	

	//保存form表单属性
	function saveFormProp(){
		
		var dataFlag=justDataValidate();//判断当前表单名称不能为空，id不能重复
	    
		if(!dataFlag){//说明数据不合法返回
			return false;
		}
		addPropInArr();
		
		if(typeof definedFormAttr!='undefined'){
			
		  var jsonStr=currArrayToJson(definedFormAttr);
		  $("#startProperty").val(jsonStr);
		  
		  colseTan();
		  console.info(jsonStr);
		  return jsonStr;
		}
		return '';
		
		

		
	}	

	//将当前数组中数据转换成json字符串
	function currArrayToJson(data){
	    
		var jsonStr="";
		
		for(var k in data){
			
		 var itemStr="";
		 
		 var currentObj=data[k];
		 var id=currentObj.id;
		 var name=currentObj.name;
		 var type=currentObj.type;
		 var value=currentObj.value;
//	 		'key':{'id':'id','name':'name','type':type,value:[{'enum_key':'key','enum_value':value}]}
		
		 if(type=='enum'){//枚举类型，遍历value[]
		   
		   var enumArrayStr="";
		    
		    for(var i=0;i<value.length;i++){
		    	
		    	var enum_key=value[i].enum_key;//枚举key
		    	var enum_value=value[i].enum_value;//枚举的value
		    	var enumStr='{"enum_key":"'+enum_key+'","enum_value":"'+enum_value+'"}';
		    	
		    	if(i!=value.length-1){
		    		enumStr=enumStr+",";
		    	}
		    	
		    	enumArrayStr=enumArrayStr+enumStr;
		    	
		    }
		    value="["+enumArrayStr+"]";
			
		 }else{
			 value='""';
		 }
		
		 itemStr='"'+id+'":{"id":"'+id+'","name":"'+name+'","type":"'+type+'","value":'+value+'},';
		
		 jsonStr=jsonStr+itemStr;
		}
		
		jsonStr='{"formProp":{'+jsonStr.substring(0,jsonStr.length-1)+'}}';
		return jsonStr;
	}
	
	
	
	
	//focus//增加属性
  function add_prop(){
		
		
		var dataFlag=justDataValidate();//判断当前表单名称不能为空，id不能重复
	    
		if(!dataFlag){//说明数据不合法返回
			return false;
		}
		
		addPropInArr();
		
		$(".focus").removeClass("focus");
// 		 <div class="tab_row"><div>id</div> <div>名称</div><div>类型</div> </div>
		var templateHtml=$("#template_div").html();//获取form模板
		$(".prop_form_div").html(templateHtml);
		var idprop="prop"+num;
		
		var flagExists=definedFormAttr[idprop];
		
		while(typeof flagExists !='undefined' && flagExists!=null ){
			num++;
			idprop="prop"+num;
			flagExists=definedFormAttr[idprop];
		}
		
		var tabHtml='<div class="tab_row focus"><div name="id">'+idprop+"</div> <div name='name'></div><div name='type'>string</div> </div>";
		$("input[name='id']").val(idprop);
		$("#zhe_tab_body").append(tabHtml);
		
		clearEnum();//清除枚举
		
		$(".prop_form_div").show();
// 		objData.id=idprop;
// 		objData.name='';
// 		objData.type='string';
		
// 		definedFormAttr[idprop]=objData;
		
		currentAttrKey=idprop;
		
		
		num++;
		
		
	}
	
  //移除当前formKey对应的数组中数据并将属性表单值放入数组中
 function addPropInArr(){
	  //查看当前数组有没有
	  if(definedFormAttr.length==0){//如果数组为空直接将当前form放入数据
		  
		  formInArr();//放入数组
		  
	  }else{
		  
		  deleObj(currentAttrKey);
		  formInArr();//放入值
// 		  definedFormAttr.splice(currentAttrKey,1);
		  
	  }
		
		
 
 }
  
  //将属性表单值放入数组
  function formInArr(){
		var currInpName=$(".prop_form_div").find("input[name='name']").val();
		var currInpId=$(".prop_form_div").find("input[name='id']").val();
		var currInpType=$(".prop_form_div").find("select[name='type'] option:selected").val();
		var objData={'id':'','name':'','type':'','value':[]};
		if(typeof currInpId=='undefined' || typeof currInpName=='undefined' || typeof currInpType=='undefined'){
			return false;
		}
		objData.id=currInpId;
		objData.name=currInpName;
		objData.type=currInpType;
		if(currInpType=='enum'){//枚举类型
		
				var enumArr=new Array();
			$(".enum_tab").find(".enum_tab_row:not(:first)").each(function(){
				
				var enumObj={'enum_key':'','enum_value':''};
				
				var emunKey=$(this).find(".enumkeydiv").text();
        		var enumvaldiv=$(this).find(".enumvaldiv").text();
        		
				enumObj.enum_key=emunKey;
				enumObj.enum_value=enumvaldiv;
			    
				enumArr.push(enumObj);//放入数组
				
			});
		
			objData.value=enumArr;
			
		}
		
		definedFormAttr[currInpId]=objData;
		currentAttrKey=currInpId;
		var len=definedFormAttr.length;
		len=Number(len)+1;
		definedFormAttr.length=len;
	  
  }
  
	
 function justDataValidate(addEnumFlag){//判断当前实现的value值是否合法，id是否重复addEnumFlag!='undefined':说明的新增枚举值不判断unfined情况
	 
		var currInpVal=$(".prop_form_div").find("input[name='name']").val();
		
		if(typeof currInpVal!='undefined' ){
			if($.trim(currInpVal)==''){
				alert("表单名称不能为空！");
				return false;
			}
		}
		currInpVal=$(".prop_form_div").find("input[name='id']").val();
		if(currInpVal!='undefined' && $.trim(currInpVal).length>0){
			
				var existAttr=definedFormAttr[currInpVal];
				if(typeof existAttr!='undefined' && existAttr!=null && currInpVal!=currentAttrKey ){
					
					alert("填入的id重复请重新填写。");
					return false;
					
				}
		}
		if(typeof currInpVal!='undefined'){
			if( $.trim(currInpVal)==''){
				alert("表单属性id不能为空！");
				return false;
			}
		}
		currInpVal=$(".prop_form_div").find("select[name='type']").val();//类型
		if(currInpVal=='enum'){//要是枚举型判断枚举值是否填写
			
			var emun_tab_row=$(".enum_tab").find(".enum_tab_row:not(:first)");
		
		    if(typeof emun_tab_row=='undefined' || emun_tab_row.length==0){
		    	
		    	if(!addEnumFlag){//新增情况不考虑unfined
		    		
			    	alert("字段为枚举类型的数据id和value不能为空！");
			    	return  false;
		    	}
		    	
		    }else{//判断枚举类型key是否重复
		    	
		    	var emunKeyAttr=new Array();
		        var emunFlag=true;
		        var emun_num=0;
		        $(emun_tab_row).each(function(){
		        	
	        		var emunKey=$(this).find(".enumkeydiv").text();
	        		var enumvaldiv=$(this).find(".enumvaldiv").text();
	        		
	        		if($.trim(emunKey)=='' || $.trim(enumvaldiv)==''){
	        			
	        			emunFlag=false;
	        			alert("枚举类型的id/value不能为空");
	        			return false;
	        		}
		        	if(emun_num==0){
		        		
			            emunKeyAttr[emunKey]=emunKey;
		        	
		        	}else{
		        		
			        	   if(typeof emunKey=='undefiend' || $.trim(emunKey)==''){
			        		   emunKeyAttr[emunKey]=emunKey;
			        	   }else{
			        		  var keyVal= emunKeyAttr[emunKey];
			        		  if(typeof keyVal!='undefined' && $.trim(keyVal).length>0){
			        			  alert("枚举值的id不能重复！");
			        			  emunFlag=false;
			        			  return emunFlag;
			        		  }else{
			        			  emunFlag=true;
			        		  }
			        		  
			        	   }
		        		
		        	}
		        	emun_num++;
		        	
		        });
		        return emunFlag;
		    	
		    	
		    }
		
		}
		
		return true;
	 
 }	
 
	


//删除选中的form数据

function reduce_prop(){
	
	var that=$(".focus");
	
	var prevNode=$(that).prev().not(".tab_h");//选中的节点之前一个节点
	
//     definedFormAttr.splice(currentAttrKey,1);
	deleObj(currentAttrKey);//删除表单中数据
	
	if(prevNode==null || typeof prevNode =='undefined' || prevNode.length==0 ){
		
	   prevNode=$(that).next();
		
	}
	if(typeof prevNode!='undefined' && prevNode.length>0){
		
		var idText=$(prevNode).find("div[name='id']").text();
		var nameText=$(prevNode).find("div[name='name']").text();
		var typeText=$(prevNode).find("div[name='type']").text();
		$(".prop_form_div").find("input[name='id']").val(idText);
		$(".prop_form_div").find("input[name='name']").val(nameText);
		$(".prop_form_div").find("select[name='type']").val(typeText);
		if(typeText=='enum'){
		   opt_enum(idText,'enum');
		}
		currentAttrKey=idText;
		$(prevNode).addClass("focus");
		$(that).remove();
	 }else{
		$(that).remove();
		currentAttrKey='';
		$(".prop_form_div").html("");
	 }
	
	
}

//删除对象中的数据
function deleObj(currentKey){
	
	
	var existsFlag=false;
	
	var existsData=definedFormAttr[currentKey];
	if(existsData){
		
	    var obj=new Array();
		for(var k in definedFormAttr){
			
			if(k!=currentKey){
				
				obj[k]=definedFormAttr[k];
			}else{
				existsFlag=true;
			}
		}
		if(existsFlag){
			if(definedFormAttr.length>0){
				obj.length=definedFormAttr.length-1;
			}
		}
		definedFormAttr=obj;
	}
	
}


$(function(){
	
	//将选中行的数据增加focus ，且将对应的值在右边显示，将操作的数据id复制给currentAttrKey
	$("#zhe_tab_body").delegate(".tab_row:not(:first)","click",function(){
		
		if(!justDataValidate('addEnum')){
			return false;
		}
		addPropInArr();//保存当前form中的值删除，currentAttrKey对应的数组中的值
		
		clearEnum();//清除枚举
		
		$(".focus").removeClass("focus");
		$(this).addClass("focus");
		var idText=$(this).find("div[name='id']").text();
		var nameText=$(this).find("div[name='name']").text();
		var typeText=$(this).find("div[name='type']").text();
		$(".prop_form_div").find("input[name='id']").val(idText);
		$(".prop_form_div").find("input[name='name']").val(nameText);
		$(".prop_form_div").find("select[name='type']").val(typeText);
		
		if(typeText=='enum'){
			
		 opt_enum(idText,'enum');
		}
		currentAttrKey=idText;
		
	});
	$(".prop_form_div").delegate("input","change",function(){
		
		var thisVal=$(this).val();
		var thisAttr=$(this).attr("name");
		if(thisAttr=='id'){//判断id是否重复
			
			var existAttr=definedFormAttr[thisVal];
			if(typeof existAttr!='undefined' && existAttr!=null && currentAttrKey!=thisVal){
				
				$(this).val("");
				alert("填入的id重复,请重新填写。");
				return false;
				
			}
			
		}
		$(".focus").find("div[name='"+thisAttr+"']").text(thisVal);
		
	});
	$(".prop_form_div").delegate("select","change",function(){
		var thisVal=$(this).find("option:selected").val();
		var thisAttr=$(this).attr("name");
		$(".focus").find("div[name='"+thisAttr+"']").text(thisVal);
		
		var currInpKey=$(".prop_form_div").find("input[name='id']").val();
		opt_enum(currInpKey,thisVal);//显示枚举
		
	});
	
	
})

function clearEnum(){//清除枚举型布局
	
	$(".enum_form").html("");
	var enumTabHtml=$(".enum_tab_row").first();//获取枚举头
	$(".enum_tab").html(enumTabHtml);
	$(".enum_layout").hide();
}
//属性表单在修改属性类型时候判断是不是enum类型的，是：显示枚举表单，否则会不显示
function opt_enum(typeKey,typeVal){//如果传入的select 类型是enum 显示枚举类型

	if(typeVal=='enum'){
		var existAttr=definedFormAttr[typeKey];//根据key查看数组有没该数据
		if(typeof existAttr=='undefined' ||  existAttr==null){
			
// 			var  enumTpl=$(".enum_form_tempalet").html();//获取枚举表模板数据
// 			$(".enum_form").html(enumTpl);

			var enumTabHtml=$(".enum_tab_row").first();//获取枚举头
			$(".enum_tab").html(enumTabHtml);
			
		}else{
			
			var emunVal=existAttr.value;//获取枚举值
//	 		 <div class="enum_tab_row" >  <div class="enum_tab_cell">枚举型id</div>
	// enum_tab         <div class="enum_tab_cell">枚举型value</div></div>
			
			var tabRow='';
			for(var i=0;i<emunVal.length;i++){//循环遍历枚举值
				
				tabRow=tabRow+'<div class="enum_tab_row" >  <div class="enum_tab_cell enumkeydiv">'+emunVal[i].enum_key;
				tabRow=tabRow+'</div> <div class="enum_tab_cell enumvaldiv">'+emunVal[i].enum_value+"</div></div>";
				
			}
			$(".enum_tab").append(tabRow);
			
			var len=emunVal.length-1;
		
			enumTabSelected(emunVal[len]);
		}
		
		$(".enum_layout").show();
		
	}else{
		
		clearEnum();//清除并隐藏枚举类型
		
	}
		
 }
 
 //将枚举中数据取出，枚举列表 最后一个选中
 
 function enumTabSelected(data){
	 
	 var  enumTpl=$(".enum_form_tempalet").html();//获取枚举表模板数据
	 $(".enum_form").html(enumTpl);
	 $(".enum_tab_row:last-child").addClass("enumFocus");
	 $(".enum_form").find("input[name='enum_key']").val(data.enum_key);
	 $(".enum_form").find("input[name='enum_value']").val(data.enum_value);
	 
 }
 
 //增加枚举值
 function add_emun(){
	 
	 var valiFromProp=justDataValidate('addEnumProp');
	 if(!valiFromProp){
		 return false;
	 }
	 
	 $(".enumFocus").removeClass("enumFocus");
	 var enumTabRow='<div class="enum_tab_row enumFocus"> <div class="enum_tab_cell enumkeydiv"></div><div class="enum_tab_cell enumvaldiv"></div></div';//枚举类型行
	 
// 	 <div class="enum_tab_cell">枚举型id</div>
//      <div class="enum_tab_cell">枚举型value</div>
	 var  enum_form_tempalet=$(".enum_form_tempalet").html();
	 $(".enum_form").html(enum_form_tempalet);
	 $(".enum_layout").show();
	 $(".enum_tab").append(enumTabRow);
	 
 }
 //减少枚举值
 function reduce_emun(){
	 
	 var that=$(".enumFocus");//保存选中指正
	 
	 var prevNode= $(that).prev().not(".enum_header");//查找该选中节点前一个不是标题的枚举行
	 if(typeof prevNode!='undefined' && prevNode.length>0){
		 var enumKey=$(prevNode).find(".enumkeydiv").text();
		 var enumVal=$(prevNode).find(".enumvaldiv").text();
		 $(".enum_form").find("input[name='enum_key']").val(enumKey);
		 $(".enum_form").find("input[name='enum_value']").val(enumVal);
		 $(prevNode).addClass("enumFocus");
		 
	 }else{//没有前节点，那就后一个节点获取焦点
		 
		 var nextNode=$(that).next();
	     if(typeof nextNode!='undefined' && nextNode.length>0){
	    	 
	    	 var enumKey=$(nextNode).find(".enumkeydiv").text();
			 var enumVal=$(nextNode).find(".enumvaldiv").text();
			 $(".enum_form").find("input[name='enum_key']").val(enumKey);
			 $(".enum_form").find("input[name='enum_value']").val(enumVal);
			 $(nextNode).addClass("enumFocus");
	    	 
	     }else{
	    	 $(".enum_form").html("");
	    	 
	     }
	 
	 }
	 $(that).remove();//移除选中的节点
	 
 }
 
 $(function(){//更改枚举输入框值填入到枚举tab
	 
	 $(".enum_form").delegate(".enumInpKey",'change',function(){//给枚举表单key输入框绑定改变时间
		 
		var formEnumKey= $(".enum_form").find("input[name='enum_key']").val();
	    var formEnumKey=$.trim(formEnumKey);
	    if(formEnumKey==''){
	    	alert("枚举类型的id不能为空");
	    	return false;
	    }
	    $(".enumFocus").find(".enumkeydiv").text(formEnumKey);
	 
		 
	 });
	 $(".enum_form").delegate(".enumInpVal",'change',function(){//给枚举表单val输入框绑定改变时间
		 
			var formEnumVal= $(".enum_form").find("input[name='enum_value']").val();
		    var formEnumKey=$.trim(formEnumVal);
		    if(formEnumKey==''){
		    	alert("枚举类型的value不能为空");
		    	return false;
		    }
		    $(".enumFocus").find(".enumvaldiv").text(formEnumVal);
		    
	 });
	 
	 //枚举tab增加点击事件，将选中的tab值在enum表单中展示
	 $(".enum_layout").delegate(".enum_tab_row:not(:first)","click",function(){
		 
		 $(".enumFocus").removeClass("enumFocus");
		 var enumKey=$(this).find(".enumkeydiv").text();
		 var enumVal=$(this).find(".enumvaldiv").text();
		 $(".enum_form").find("input[name='enum_key']").val(enumKey);
		 $(".enum_form").find("input[name='enum_value']").val(enumVal);
		 $(this).addClass("enumFocus");
	 });
	 
	 
	$(".nav-tabs").find("li").find("a").click(function(){
		$(".nav-tabs").find("li").removeClass("active");
		$(this).parents().addClass("active");
		$(".tab-content").find(".tab-pane").hide();
		var id = $(this).data("id");
		$("#"+id).show();
	});
 });